const localData = localStorage.getItem("pz_v3")

const state = localData
  ? localData.menu
  : {
      isCollapse: false,
      SelectMenu: [],
      routerList: [],
      menuActive: "1-1",
    }
const mutations = {
  collapseMenu(state) {
    state.isCollapse = !state.isCollapse
  },
  addMenu(state, payload) {
    // 对数据进行去重
    if (
      state.SelectMenu.findIndex((item) => item.path === payload.path) === -1
    ) {
      state.SelectMenu.push(payload)
    }
  },
  closeMenu(state, payload) {
    // 找到点击数据的索引
    const index = state.SelectMenu.findIndex((val) => val.name === payload.name)
    // 通过索引删除数组指定元素
    state.SelectMenu.splice(index, 1)
  },
  dynamicMenu(state, payload) {
    // 通过glob导入文件
    const modules = import.meta.glob("../views/**/**/*.vue")
    console.log(modules)
    function routerSet(router) {
      router.forEach((route) => {
        if (!route.children) {
          const url = `../views${route.meta.path}/index.vue`
          route.component = modules[url]
        } else {
          routerSet(route.children)
        }
      })
    }
    routerSet(payload)
    // 拿到完整的路由数据
    state.routerList = payload
  },
  updateMenuActive(state, payload) {
    state.menuActive = payload
  },
}
export default {
  state,
  mutations,
}
